quartz: fix up GdkDragContext conversion
authorKristian Rietveld <kris@gtk.org>
Wed, 22 Dec 2010 12:31:58 +0000 (13:31 +0100)
committerKristian Rietveld <kris@gtk.org>
Wed, 22 Dec 2010 16:47:01 +0000 (17:47 +0100)
gdk/quartz/Makefile.am
gdk/quartz/gdkdnd-quartz.c
gdk/quartz/gdkprivate-quartz.h

index 7d40f8968638f1418def89d24f0eaf7794ce81ea..3f6081b5642e7fa6ac7ee6613dd5f0616d9b2aff 100644 (file)
@@ -27,6 +27,7 @@ libgdk_quartz_la_SOURCES =            \
        gdkdisplay-quartz.c     \
        gdkdisplaymanager-quartz.c      \
        gdkdnd-quartz.c         \
+       gdkdnd-quartz.h         \
        gdkevents-quartz.c      \
        gdkeventloop-quartz.c   \
        gdkgeometry-quartz.c    \
index 9f4b26cbc6cfa9b94f39351855611dcc8a7a8ccd..54b66461dc70bd4c75936fdc9b7e0b25ffae3952 100644 (file)
  */
 
 #include "gdkdnd.h"
+#include "gdkdnd-quartz.h"
 #include "gdkprivate-quartz.h"
 
-typedef struct _GdkDragContext GdkDragContextQuartz;
-typedef struct _GdkDragContextClass GdkDragContextQuartzClass;
-
-G_DEFINE_TYPE (GdkDragContextQuartz, gdk_quartz_drag_context, GDK_TYPE_DRAG_CONTEXT)
+G_DEFINE_TYPE (GdkQuartzDragContext, gdk_quartz_drag_context, GDK_TYPE_DRAG_CONTEXT)
 
 
 GdkDragContext *_gdk_quartz_drag_source_context = NULL;
@@ -40,15 +38,18 @@ _gdk_quartz_window_drag_begin (GdkWindow *window,
                                GdkDevice *device,
                                GList     *targets)
 {
+  GdkDragContext *context;
+
   g_assert (_gdk_quartz_drag_source_context == NULL);
 
   /* Create fake context */
-  _gdk_quartz_drag_source_context = g_object_new (gdk_quartz_drag_context_get_type (), NULL);
+  _gdk_quartz_drag_source_context = g_object_new (GDK_TYPE_QUARTZ_DRAG_CONTEXT,
+                                                  NULL);
   _gdk_quartz_drag_source_context->is_source = TRUE;
 
-  gdk_drag_context_set_device (_gdk_quartz_drag_source_context, device);
+  gdk_drag_context_set_device (context, device);
 
-  return _gdk_quartz_drag_source_context;
+  return context;
 }
 
 static gboolean
@@ -65,25 +66,26 @@ gdk_quartz_drag_context_drag_motion (GdkDragContext  *context,
   return FALSE;
 }
 
-guint32
+GdkNativeWindow
 _gdk_quartz_display_get_drag_get_protocol (GdkDisplay      *display,
-                                           guint32          xid,
-                                           GdkDragProtocol *protocol)
+                                           GdkNativeWindow *xid,
+                                           GdkDragProtocol *protocol,
+                                           guint            version)
 {
   /* FIXME: Implement */
   return 0;
 }
 
-static void
+static GdkWindow *
 gdk_quartz_drag_context_find_window (GdkDragContext  *context,
                                      GdkWindow       *drag_window,
                                      GdkScreen       *screen,
                                      gint             x_root,
                                      gint             y_root,
-                                     GdkWindow      **dest_window,
                                      GdkDragProtocol *protocol)
 {
   /* FIXME: Implement */
+  return NULL;
 }
 
 static void
@@ -144,14 +146,14 @@ gdk_quartz_drag_context_drop_status (GdkDragContext *context)
   return FALSE;
 }
 
-void
+id
 gdk_quartz_drag_context_get_dragging_info_libgtk_only (GdkDragContext *context)
 {
-  return GDK_DRAG_CONTEXT_PRIVATE (context)->dragging_info;
+  return GDK_QUARTZ_DRAG_CONTEXT (context)->dragging_info;
 }
 
 static void
-gdk_quartz_drag_context_init (GdkDragContextQuartz *context)
+gdk_quartz_drag_context_init (GdkQuartzDragContext *context)
 {
 }
 
index ee4b902ea632d8d2dce807f9ad95c647de095369..09d8e29e26b9954756d275895480ebc29087d62a 100644 (file)
@@ -26,6 +26,7 @@
 
 #include <gdk/gdkprivate.h>
 #include <gdk/quartz/gdkwindow-quartz.h>
+#include <gdk/quartz/gdkdnd-quartz.h>
 #include <gdk/quartz/gdkquartz.h>
 
 #include <gdk/gdk.h>
 
 #include "config.h"
 
-#define GDK_DRAG_CONTEXT_PRIVATE(context) ((GdkDragContextPrivate *) GDK_DRAG_CONTEXT (context)->windowing_data)
-
 typedef struct _GdkCursorPrivate GdkCursorPrivate;
-typedef struct _GdkDragContextPrivate GdkDragContextPrivate;
 
 struct _GdkVisualClass
 {
   GObjectClass parent_class;
 };
 
-struct _GdkDragContextPrivate
-{
-  id <NSDraggingInfo> dragging_info;
-  GdkDevice *device;
-};
-
 extern GdkDisplay *_gdk_display;
 extern GdkScreen *_gdk_screen;
 extern GdkWindow *_gdk_root;